home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Examples / Embed / Include / EmbedCmd.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  3.0 KB  |  103 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                EmbedCmd.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Author:                John Wendt
  7. //
  8. //    Copyright:    © 1993, 1995 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef EMBEDCMD_H
  13. #define EMBEDCMD_H
  14.  
  15. // ----- Part Layer -----
  16.  
  17. #ifndef FWEDCMD_H
  18. #include "FWEdCmd.h"
  19. #endif
  20.  
  21. #ifndef FWDRCMD_H
  22. #include "FWDrCmd.h"
  23. #endif
  24.  
  25. //========================================================================================
  26. // Forward Declarations
  27. //========================================================================================
  28.  
  29. class FW_CLASS_ATTR CEmbedPart;
  30. class FW_CLASS_ATTR CEmbedFrame;
  31. class FW_CLASS_ATTR CEmbedSelection;
  32. class FW_CLASS_ATTR CEmbedProxy;
  33.  
  34. //========================================================================================
  35. // CEmbedEditCommand
  36. //========================================================================================
  37.  
  38. class FW_CLASS_ATTR CEmbedEditCommand : public FW_CEditCommand
  39. {
  40.   public:
  41.  
  42.     CEmbedEditCommand(Environment *ev, 
  43.                       ODCommandID commandID,
  44.                       CEmbedPart* part, 
  45.                       FW_CFrame* frame, 
  46.                       FW_CSelection* selection,
  47.                       FW_Boolean canUndo);
  48.  
  49.     virtual ~CEmbedEditCommand();
  50.  
  51.     // --- FW_CCommand overrides
  52.     virtual void UndoIt(Environment *ev);            // Override
  53.     virtual void RedoIt(Environment *ev);            // Override
  54.     virtual void SaveUndoState(Environment *ev);    // Override
  55.     virtual void SaveRedoState(Environment *ev);    // Override
  56.     virtual void FreeUndoState(Environment *ev);    // Override
  57.     virtual void FreeRedoState(Environment *ev);    // Override
  58.  
  59.   private:
  60.     void RemovePart(Environment* ev);
  61.     void RestorePart(Environment* ev);
  62.     void RestoreOldPart(Environment* ev);
  63.  
  64.   private:
  65.     CEmbedPart*            fEmbedPart;
  66.     CEmbedProxy*        fPastedProxy;    // saved proxy for Redo
  67.     CEmbedProxy*        fOldProxy;        // saved proxy for Undo
  68. };
  69.  
  70. //========================================================================================
  71. //    class CProxyDropCommand
  72. //========================================================================================
  73.  
  74. class FW_CLASS_ATTR CProxyDropCommand : public FW_CDropCommand
  75. {
  76.   public:
  77.     CProxyDropCommand(Environment *ev,
  78.                       CEmbedPart* itsPart,
  79.                       FW_CFrame* frame,
  80.                       ODDragItemIterator* dropInfo, 
  81.                       ODFacet* odFacet,
  82.                       const FW_CPoint& dropPoint);
  83.  
  84.     virtual ~ CProxyDropCommand();
  85.  
  86.     // --- for Undo/Redo ---
  87.     virtual void        UndoIt(Environment *ev);    // Override
  88.     virtual void        RedoIt(Environment *ev);    // Override
  89.     virtual void        CommitDone(Environment *ev);    // Override
  90.     virtual void        CommitUndone(Environment *ev);    // Override
  91.     virtual void        SaveUndoState(Environment *ev);    // Override
  92.     virtual void        SaveRedoState(Environment *ev);    // Override
  93.  
  94.   private:
  95.     CEmbedPart*            fEmbedPart;
  96.     CEmbedSelection*    fEmbedSelection;
  97.     CEmbedProxy*        fDroppedProxy;    // saved proxy for Redo
  98.     CEmbedProxy*        fOldProxy;        // saved proxy for Undo
  99. };
  100.  
  101.  
  102. #endif
  103.